package com.ruoyi.classroom.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 教学资源管理对象 classroom
 * 
 * @author chenxl
 * @date 2025-04-11
 */
public class classroom extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键（uuid） */
    private String id;

    /** 教室编号 */
    @Excel(name = "教室编号")
    private String roomCode;
    /** 备注信息 */
    @Excel(name = "教室名称")
    private String classRoomName;
    /** 备注信息 */
    @Excel(name = "有效座位数")
    private Long effectiveSeats;
    /** 校区 */
    @Excel(name = "所属校区")
    private Long campus;
    /** 备注信息 */
    @Excel(name = "教学功能区")
    private String teachingFunctionArea;
    /** 教学楼id */
    @Excel(name = "所在教学楼")
    private String buildingId;
    /** 学院id */
    @Excel(name = "所属单位")
    private String collegeId;
    /** 教室类型 */
    @Excel(name = "教室类型")
    private Long classroomType;
    /** 座位数 */
    @Excel(name = "座位数")
    private Long seating;
    /** 备注信息 */
    @Excel(name = "考试座位数")
    private Long examSeating;


    /** 楼层 */
    @Excel(name = "楼层")
    private Long floor;

    /** 具体房间号 */
    @Excel(name = "具体房间号")
    private String roomNumber;

    /** 上课人数容量 */
    @Excel(name = "上课人数容量")
    private Long capacity;

    /** 考试人数容量 */
    @Excel(name = "考试人数容量")
    private Long testCapacity;

    /** 设备信息 */
    @Excel(name = "设备信息")
    private String equipment;

    /** 是否有黑板 (0: 否, 1: 是) */
    @Excel(name = "是否有黑板 (0: 否, 1: 是)")
    private Long blackboard;

    /** 是否有投影仪 (0: 否, 1: 是) */
    @Excel(name = "是否有投影仪 (0: 否, 1: 是)")
    private Long projector;

    /** 是否有白板 (0: 否, 1: 是) */
    @Excel(name = "是否有白板 (0: 否, 1: 是)")
    private Long whiteboard;

    /** 联系人姓名 */
    @Excel(name = "联系人姓名")
    private String contactName;

    /** 联系电话 */
    @Excel(name = "联系电话")
    private String contactPhone;

    /** 审核状态 */
    @Excel(name = "审核状态")
    private Long status;

    /** 排课是否可用 */
    @Excel(name = "排课是否可用")
    private Long scheduleAvailable;

    /** 考试是否可用 */
    @Excel(name = "考试是否可用")
    private Long testAvailability;

    /** 限制时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "限制时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date bindingHours;

    /** 单双周 */
    @Excel(name = "单双周")
    private String oddBiweekly;

    /** 备注信息 */
    @Excel(name = "备注信息")
    private String notes;



    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }

    public void setRoomCode(String roomCode) 
    {
        this.roomCode = roomCode;
    }

    public String getRoomCode() 
    {
        return roomCode;
    }

    public void setClassroomType(Long classroomType) 
    {
        this.classroomType = classroomType;
    }

    public Long getClassroomType() 
    {
        return classroomType;
    }

    public void setCollegeId(String collegeId) 
    {
        this.collegeId = collegeId;
    }

    public String getCollegeId() 
    {
        return collegeId;
    }

    public void setCampus(Long campus) 
    {
        this.campus = campus;
    }

    public Long getCampus() 
    {
        return campus;
    }

    public void setBuildingId(String buildingId) 
    {
        this.buildingId = buildingId;
    }

    public String getBuildingId() 
    {
        return buildingId;
    }

    public void setFloor(Long floor) 
    {
        this.floor = floor;
    }

    public Long getFloor() 
    {
        return floor;
    }

    public void setRoomNumber(String roomNumber) 
    {
        this.roomNumber = roomNumber;
    }

    public String getRoomNumber() 
    {
        return roomNumber;
    }

    public void setCapacity(Long capacity) 
    {
        this.capacity = capacity;
    }

    public Long getCapacity() 
    {
        return capacity;
    }

    public void setTestCapacity(Long testCapacity) 
    {
        this.testCapacity = testCapacity;
    }

    public Long getTestCapacity() 
    {
        return testCapacity;
    }

    public void setEquipment(String equipment) 
    {
        this.equipment = equipment;
    }

    public String getEquipment() 
    {
        return equipment;
    }

    public void setBlackboard(Long blackboard) 
    {
        this.blackboard = blackboard;
    }

    public Long getBlackboard() 
    {
        return blackboard;
    }

    public void setProjector(Long projector) 
    {
        this.projector = projector;
    }

    public Long getProjector() 
    {
        return projector;
    }

    public void setWhiteboard(Long whiteboard) 
    {
        this.whiteboard = whiteboard;
    }

    public Long getWhiteboard() 
    {
        return whiteboard;
    }

    public void setContactName(String contactName) 
    {
        this.contactName = contactName;
    }

    public String getContactName() 
    {
        return contactName;
    }

    public void setContactPhone(String contactPhone) 
    {
        this.contactPhone = contactPhone;
    }

    public String getContactPhone() 
    {
        return contactPhone;
    }

    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }

    public void setScheduleAvailable(Long scheduleAvailable) 
    {
        this.scheduleAvailable = scheduleAvailable;
    }

    public Long getScheduleAvailable() 
    {
        return scheduleAvailable;
    }

    public void setTestAvailability(Long testAvailability) 
    {
        this.testAvailability = testAvailability;
    }

    public Long getTestAvailability() 
    {
        return testAvailability;
    }

    public void setBindingHours(Date bindingHours) 
    {
        this.bindingHours = bindingHours;
    }

    public Date getBindingHours() 
    {
        return bindingHours;
    }

    public void setOddBiweekly(String oddBiweekly) 
    {
        this.oddBiweekly = oddBiweekly;
    }

    public String getOddBiweekly() 
    {
        return oddBiweekly;
    }

    public void setNotes(String notes) 
    {
        this.notes = notes;
    }

    public String getNotes() 
    {
        return notes;
    }

    public Long getSeating() {
        return seating;
    }

    public void setSeating(Long seating) {
        this.seating = seating;
    }


    public Long getEffectiveSeats() {
        return effectiveSeats;
    }

    public void setEffectiveSeats(Long effectiveSeats) {
        this.effectiveSeats = effectiveSeats;
    }

    public String getClassRoomName() {
        return classRoomName;
    }

    public void setClassRoomName(String classRoomName) {
        this.classRoomName = classRoomName;
    }

    public String getTeachingFunctionArea() {
        return teachingFunctionArea;
    }

    public void setTeachingFunctionArea(String teachingFunctionArea) {
        this.teachingFunctionArea = teachingFunctionArea;
    }

    public Long getExamSeating() {
        return examSeating;
    }

    public void setExamSeating(Long examSeating) {
        this.examSeating = examSeating;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("roomCode", getRoomCode())
            .append("classroomType", getClassroomType())
            .append("collegeId", getCollegeId())
            .append("campus", getCampus())
            .append("buildingId", getBuildingId())
            .append("floor", getFloor())
            .append("roomNumber", getRoomNumber())
            .append("capacity", getCapacity())
            .append("testCapacity", getTestCapacity())
            .append("equipment", getEquipment())
            .append("blackboard", getBlackboard())
            .append("projector", getProjector())
            .append("whiteboard", getWhiteboard())
            .append("contactName", getContactName())
            .append("contactPhone", getContactPhone())
            .append("status", getStatus())
            .append("scheduleAvailable", getScheduleAvailable())
            .append("testAvailability", getTestAvailability())
            .append("bindingHours", getBindingHours())
            .append("oddBiweekly", getOddBiweekly())
            .append("notes", getNotes())
            .append("seating", getSeating())
            .append("effectiveSeats", getEffectiveSeats())
            .append("examSeating", getExamSeating())
            .append("classRoomName", getClassRoomName())
            .append("teachingFunctionArea", getTeachingFunctionArea())
            .toString();
    }


}
